<cfcomponent output="false" extends="designPattern.composite.Component">
	
	<cffunction name="init" access="public" output="false" returntype="Component">
		<cfargument name="name" type="string" required="true" />
		<cfset super.init( arguments.name ) />
		<cfreturn this />
	</cffunction>
	
	<cffunction name="add" access="public" output="false" returntype="void">
		<cfargument name="component" type="Component" required="true" />
		<cfabort showerror="designPattern.composite.SinglePartException: add() Not supported method" />
	</cffunction>
	
	<cffunction name="remove" access="public" output="false" returntype="void">
		<cfargument name="component" type="Component" required="true" />
		<cfabort showerror="designPattern.composite.SinglePartException: remove() Not supported method" />
	</cffunction>
	
	<cffunction name="getChild" access="public" output="false" returntype="Component">
		<cfargument name="index" type="numeric" required="true" />
		<cfabort showerror="designPattern.composite.SinglePartException: getChild() Not supported method" />
	</cffunction>
	
	<cffunction name="describe" access="public" output="false" returntype="void">
		<cftrace type="information" text="Component: #this.name#" />
	</cffunction>

</cfcomponent>